--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / propagation-nodes / PropagationNodesPage.vue
Displaying Raw • Download
meshchatx/src/frontend/components/propagation-nodes/PropagationNodesPage.vue master (b89dc9e6) Text, 55.50 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD AND MIT -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col flex-1 overflow-hidden min-w-0 bg-slate-50 dark:bg-zinc-950"Tb4b4b4>
Tb4b4b4<Tff7b72ToolsPageHeader
Te6edf3iconTff7b72=Ta5d6ff"mailbox"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tools.propagation_nodes.title'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3descriptionTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tools.propagation_nodes.description'Tb4b4b4)Ta5d6ff"
Te6edf3accentTff7b72=Ta5d6ff"cyan"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"px-4 py-4 border-b border-gray-200 dark:border-zinc-800 bg-white dark:bg-zinc-900"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"rounded-2xl border border-gray-200 dark:border-zinc-800 p-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-start justify-between gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"min-w-0 text-left"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3isLocalManagerCollapsed Tff7b72= Tff7b72!Te6edf3isLocalManagerCollapsedTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3isLocalManagerCollapsed Tff7b72? Ta5d6ff'chevron-right' Tff7b72: Ta5d6ff'chevron-down'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-5 text-gray-500 dark:text-zinc-400 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-gray-900 dark:text-zinc-100 truncate"Tb4b4b4>
Hosted Propagation Node
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3localPropagationNodeTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-semibold"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3localNodeIsRunning
Tff7b72? Ta5d6ff'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300'
Tff7b72: Ta5d6ff'bg-gray-100 text-gray-700 dark:bg-zinc-800 dark:text-zinc-300'
Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3localNodeIsRunning Tff7b72? Ta5d6ff"Running" Tff7b72: Ta5d6ff"Stopped" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3localPropagationNode Tff7b72&&
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3localPropagationNodeTb4b4b4.Te6edf3destination_hash
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-blue-100 dark:bg-blue-900/30 px-2 py-0.5 text-xs font-semibold text-blue-700 dark:text-blue-300"
Tb4b4b4>
Preferred
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-blue-600 dark:hover:text-blue-400 disabled:opacity-40"
Te6edf3titleTff7b72=Ta5d6ff"Announce now"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3localPropagationNodeTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3announceNowTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"bullhorn" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3localNodeIsRunningTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-emerald-600 dark:hover:text-emerald-400 disabled:opacity-40"
Te6edf3titleTff7b72=Ta5d6ff"Start node"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3localPropagationNodeTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3startLocalPropagationNodeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"play" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3localNodeIsRunningTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-amber-600 dark:hover:text-amber-400"
Te6edf3titleTff7b72=Ta5d6ff"Restart node"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3restartLocalPropagationNodeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"refresh" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3localNodeIsRunningTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-red-600 dark:hover:text-red-400"
Te6edf3titleTff7b72=Ta5d6ff"Stop node"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3stopLocalPropagationNodeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"stop" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3isLocalManagerCollapsedTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"mt-3 space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs font-mono text-gray-600 dark:text-zinc-400 break-all"
Tb4b4b4>
Te6edf3<Tff7b72{{ Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hash Tff7b72}}Te6edf3>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400 flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72template Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3nodePathForTb4b4b4(Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hashTb4b4b4)Ta5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{
Te6edf3formatPathLabelTb4b4b4(Te6edf3nodePathForTb4b4b4(Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hashTb4b4b4)Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72template Te6edf3v-elseTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>No path yetTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-blue-600 dark:hover:text-blue-400 disabled:opacity-40"
Te6edf3titleTff7b72=Ta5d6ff"Find path now"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hashTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3requestPathForNodeTb4b4b4(Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"map-marker-path" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"block text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Display name
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-1 flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTb4b4b4.Te6edf3trimTff7b72=Ta5d6ff"Te6edf3localNodeDisplayNameDraftTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3maxlengthTff7b72=Ta5d6ff"64"
Te6edf3classTff7b72=Ta5d6ff"w-full bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Te6edf3placeholderTff7b72=Ta5d6ff"Anonymous Peer"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Te6edf3saveLocalNodeDisplayNameTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-emerald-600 dark:hover:text-emerald-400"
Te6edf3titleTff7b72=Ta5d6ff"Save name"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3saveLocalNodeDisplayNameTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"check" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-gray-800 dark:hover:text-zinc-100"
Te6edf3titleTff7b72=Ta5d6ff"Reset to Anonymous"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3resetLocalNodeDisplayNameTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"restore" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3localNodeStatsVisibleTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400 flex flex-wrap gap-x-3 gap-y-1"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Tb4b4b4>Tff7b72{{ Te6edf3formatSecondsTb4b4b4(Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3uptime_secondsTb4b4b4) Tff7b72}} uptimeTb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3total_peers Tff7b72}} peersTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3messagestore_count Tff7b72}} messages storedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3client_messages_received Tff7b72}} receivedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3client_messages_served Tff7b72}} servedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3formatStorageUsageTb4b4b4(Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4) Tff7b72}} storageTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>RX Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3rx_bytesTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>TX Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3localPropagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3tx_bytesTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500"Tb4b4b4>
Node stats appear when running.
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 sm:grid-cols-3 gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400 block"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"block mt-0.5 font-normal text-[11px] text-gray-500 dark:text-zinc-500"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_description"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72select
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3lxmfIncomingDeliveryPresetTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"mt-1 w-full bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3onLxmfIncomingDeliveryPresetChangeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"1mb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_1mb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"10mb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_10mb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"25mb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_25mb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"50mb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_50mb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"1gb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_1gb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"custom"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_custom"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3lxmfIncomingDeliveryPreset Tff7b72=== Ta5d6ff'custom'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"mt-1 flex flex-wrap items-center gap-2"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"Te6edf3lxmfIncomingDeliveryCustomAmountTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"0.001"
Te6edf3stepTff7b72=Ta5d6ff"any"
Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onLxmfIncomingDeliveryCustomChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72select
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3lxmfIncomingDeliveryCustomUnitTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3onLxmfIncomingDeliveryCustomChangeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"mb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_unit_mb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"gb"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"app.incoming_message_size_unit_gb"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-1 text-[11px] text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3configTb4b4b4.Te6edf3lxmf_delivery_transfer_limit_in_bytesTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Propagation transfer limit (MB)
Tb4b4b4<Tff7b72input
Te6edf3v-modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"Te6edf3propagationLimitInputMbTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"0.001"
Te6edf3stepTff7b72=Ta5d6ff"0.01"
Te6edf3classTff7b72=Ta5d6ff"mt-1 w-full bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onPropagationTransferLimitChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-1 text-[11px] text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_transfer_limit_in_bytesTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Propagation sync limit (MB)
Tb4b4b4<Tff7b72input
Te6edf3v-modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"Te6edf3propagationSyncLimitInputMbTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"0.001"
Te6edf3stepTff7b72=Ta5d6ff"0.01"
Te6edf3classTff7b72=Ta5d6ff"mt-1 w-full bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onPropagationSyncLimitChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-1 text-[11px] text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_sync_limit_in_bytesTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"block text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Propagation stamp cost
Tb4b4b4<Tff7b72input
Te6edf3v-modelTb4b4b4.Te6edf3numberTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_node_stamp_costTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"13"
Te6edf3maxTff7b72=Ta5d6ff"254"
Te6edf3classTff7b72=Ta5d6ff"mt-1 w-full bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl px-3 py-2"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onPropagationStampCostChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-blue-600 hover:bg-blue-700 px-4 py-2 text-sm font-semibold text-white shadow-xs transition-colors disabled:opacity-40"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3localPropagationNodeTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useLocalPropagationNodeTa5d6ff"
Tb4b4b4>
Use Our Node
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- search and sort -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2 bg-white dark:bg-zinc-900 border-b border-gray-200 dark:border-zinc-800 px-4 py-3"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3searchTermTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffSearch Tffd700${Te6edf3propagationNodesTb4b4b4.Te6edf3lengthTffd700}Ta5d6ff Propagation Nodes...Ta5d6ff`Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex-1 bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500 px-4 py-2 shadow-xs transition-all placeholder:text-gray-400 dark:placeholder:text-zinc-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72select
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3sortByTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 text-gray-900 dark:text-zinc-100 text-sm rounded-xl focus:ring-2 focus:ring-blue-500/50 focus:border-blue-500 px-4 py-2 shadow-xs transition-all min-w-[180px]"
Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"name"Tb4b4b4>Sort by NameTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"name-desc"Tb4b4b4>Sort by Name (Z-A)Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"recent"Tb4b4b4>Sort by RecentTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"oldest"Tb4b4b4>Sort by OldestTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"preferred"Tb4b4b4>Preferred FirstTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- propagation nodes -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"h-full overflow-y-auto px-4 py-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3paginatedNodesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-3 w-full"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3propagationNode Tff7b72of Te6edf3paginatedNodesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"border border-gray-200 dark:border-zinc-800 rounded-2xl bg-white dark:bg-zinc-900 shadow-xs hover:shadow-md transition-shadow overflow-hidden"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'ring-2 ring-blue-500 dark:ring-blue-400'Tff7b72:
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"p-4 flex items-center gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-gray-900 dark:text-zinc-100 truncate"Tb4b4b4>
Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hash
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-blue-100 dark:bg-blue-900/30 px-2 py-0.5 text-xs font-semibold text-blue-700 dark:text-blue-300"
Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 20 20"
Te6edf3fillTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-3 h-3"
Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3fill-ruleTff7b72=Ta5d6ff"evenodd"
Te6edf3dTff7b72=Ta5d6ff"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z"
Te6edf3clip-ruleTff7b72=Ta5d6ff"evenodd"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Preferred
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodeTb4b4b4.Te6edf3is_propagation_enabled Tff7b72=== Tff7b72falseTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-red-100 dark:bg-red-900/30 px-2 py-0.5 text-xs font-semibold text-red-700 dark:text-red-300"
Tb4b4b4>
Disabled
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodeTb4b4b4.Te6edf3is_local_nodeTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-1 rounded-full bg-emerald-100 dark:bg-emerald-900/30 px-2 py-0.5 text-xs font-semibold text-emerald-700 dark:text-emerald-300"
Tb4b4b4>
Our Node
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 font-mono truncate"Tb4b4b4>
Te6edf3<Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hash Tff7b72}}Te6edf3>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500 mt-1"Tb4b4b4>
Announced Tff7b72{{ Te6edf3formatTimeAgoTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3updated_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500 mt-1 flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72template Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3nodePathForTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Ta5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{
Te6edf3formatPathLabelTb4b4b4(Te6edf3nodePathForTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72template Te6edf3v-elseTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>No pathTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400 hover:text-blue-600 dark:hover:text-blue-400"
Te6edf3titleTff7b72=Ta5d6ff"Find path now"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3requestPathForNodeTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"map-marker-path" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500 mt-1 flex flex-wrap gap-x-3 gap-y-1"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Tb4b4b4>Tff7b72{{
Te6edf3formatSecondsTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3uptime_secondsTb4b4b4)
Tff7b72}}
uptimeTb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3total_peers Tff7b72}} peersTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3messagestore_count Tff7b72}} storedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Tb4b4b4>Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3client_messages_received Tff7b72}} receivedTb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3client_messages_served Tff7b72}} servedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3formatStorageUsageTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4) Tff7b72}} storageTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>RX Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3rx_bytesTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>TX Tff7b72{{ Te6edf3formatByteSizeTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3local_node_statsTb4b4b4.Te6edf3tx_bytesTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72===
Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hash
Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-red-600 hover:bg-red-700 dark:bg-red-600 dark:hover:bg-red-700 px-4 py-2 text-sm font-semibold text-white shadow-xs transition-colors focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3stopUsingPropagationNodeTa5d6ff"
Tb4b4b4>
Stop Using
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-blue-600 hover:bg-blue-700 dark:bg-blue-600 dark:hover:bg-blue-700 px-4 py-2 text-sm font-semibold text-white shadow-xs transition-colors focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3usePropagationNodeTb4b4b4(Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>
Set as Preferred
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- pagination -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3totalPages Tff7b72> T79c0ff1Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between mt-6 pt-4 border-t border-gray-200 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Showing Tff7b72{{ Te6edf3startIndex Tff7b72+ T79c0ff1 Tff7b72}}-Tff7b72{{ Te6edf3endIndex Tff7b72}} of Tff7b72{{ Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3length Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72=== T79c0ff1Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 hover:bg-gray-50 dark:hover:bg-zinc-800 disabled:opacity-50 disabled:cursor-not-allowed px-3 py-2 text-sm font-medium text-gray-700 dark:text-zinc-300 shadow-xs transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3currentPage Tff7b72- T79c0ff1Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4"
Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3dTff7b72=Ta5d6ff"M15.75 19.5 8.25 12l7.5-7.5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Previous
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3page Tff7b72in Te6edf3visiblePagesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3pageTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3page Tff7b72=== Te6edf3currentPage
Tff7b72? Ta5d6ff'bg-blue-600 text-white dark:bg-blue-600'
Tff7b72: Ta5d6ff'bg-white dark:bg-zinc-900 text-gray-700 dark:text-zinc-300 hover:bg-gray-50 dark:hover:bg-zinc-800'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-10 h-10 rounded-xl border border-gray-200 dark:border-zinc-800 text-sm font-medium shadow-xs transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72= Te6edf3pageTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3page Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72=== Te6edf3totalPagesTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-white dark:bg-zinc-900 border border-gray-200 dark:border-zinc-800 hover:bg-gray-50 dark:hover:bg-zinc-800 disabled:opacity-50 disabled:cursor-not-allowed px-3 py-2 text-sm font-medium text-gray-700 dark:text-zinc-300 shadow-xs transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentPage Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3totalPagesTb4b4b4, Te6edf3currentPage Tff7b72+ T79c0ff1Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Next
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4"
Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3dTff7b72=Ta5d6ff"m8.25 4.5 7.5 7.5-7.5 7.5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex h-full"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto my-auto text-center leading-5 text-gray-900 dark:text-gray-100"Tb4b4b4>
T8b949e<!-- no propagation nodes at all -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3propagationNodesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"size-6"
Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3stroke-linecapTff7b72=Ta5d6ff"round"
Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round"
Te6edf3dTff7b72=Ta5d6ff"M2.25 13.5h3.86a2.25 2.25 0 0 1 2.012 1.244l.256.512a2.25 2.25 0 0 0 2.013 1.244h3.218a2.25 2.25 0 0 0 2.013-1.244l.256-.512a2.25 2.25 0 0 1 2.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 0 0-2.15-1.588H6.911a2.25 2.25 0 0 0-2.15 1.588L2.35 13.177a2.25 2.25 0 0 0-.1.661Z"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>No Propagation NodesTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Check back later, once someone has announced.Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-xl bg-blue-600 hover:bg-blue-700 dark:bg-blue-600 dark:hover:bg-blue-700 px-4 py-2 text-sm font-semibold text-white shadow-xs transition-colors focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3loadPropagationNodesTa5d6ff"
Tb4b4b4>
Reload
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- is searching, but no results -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3searchTerm Tff7b72!== Ta5d6ff'' Tff7b72&& Te6edf3propagationNodesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1.5"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3classTff7b72=Ta5d6ff"w-6 h-6"
Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3stroke-linecapTff7b72=Ta5d6ff"round"
Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round"
Te6edf3dTff7b72=Ta5d6ff"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>No Search ResultsTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Your search didn't match any Propagation Nodes!Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3Utils Tff7b72from Ta5d6ff"../../js/Utils"Tb4b4b4;
Tff7b72import Te6edf3WebSocketConnection Tff7b72from Ta5d6ff"../../js/WebSocketConnection"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../../js/ToastUtils"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3getDestinationPath Tb4b4b4} Tff7b72from Ta5d6ff"../../js/reticulumPathfinding.js"Tb4b4b4;
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3ToolsPageHeader Tff7b72from Ta5d6ff"../tools/ToolsPageHeader.vue"Tb4b4b4;
Tff7b72import Tb4b4b4{
Te6edf3incomingDeliveryBytesFromCustomTb4b4b4,
Te6edf3incomingDeliveryBytesFromPresetKeyTb4b4b4,
Te6edf3syncIncomingDeliveryFieldsFromBytesTb4b4b4,
Tb4b4b4} Tff7b72from Ta5d6ff"../../js/settings/incomingDeliveryLimit"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"PropagationNodesPage"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Te6edf3ToolsPageHeaderTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3searchTermTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3sortByTff7b72: Ta5d6ff"preferred"Tb4b4b4,
Te6edf3propagationNodesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3configTff7b72: Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_destination_hashTff7b72: Tff7b72nullTb4b4b4,
Te6edf3lxmf_local_propagation_node_address_hashTff7b72: Tff7b72nullTb4b4b4,
Te6edf3lxmf_delivery_transfer_limit_in_bytesTff7b72: T79c0ff1000 Tff7b72* T79c0ff1000 Tff7b72* T79c0ff10Tb4b4b4,
Te6edf3lxmf_propagation_transfer_limit_in_bytesTff7b72: T79c0ff1000 Tff7b72* T79c0ff256Tb4b4b4,
Te6edf3lxmf_propagation_sync_limit_in_bytesTff7b72: T79c0ff1000 Tff7b72* T79c0ff10240Tb4b4b4,
Te6edf3lxmf_propagation_node_stamp_costTff7b72: T79c0ff16Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3currentPageTff7b72: T79c0ff1Tb4b4b4,
Te6edf3itemsPerPageTff7b72: T79c0ff20Tb4b4b4,
Te6edf3saveTimeoutsTff7b72: Tb4b4b4{
Te6edf3deliveryLimitTff7b72: Tff7b72nullTb4b4b4,
Te6edf3propagationLimitTff7b72: Tff7b72nullTb4b4b4,
Te6edf3propagationSyncLimitTff7b72: Tff7b72nullTb4b4b4,
Te6edf3propagationStampCostTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isLocalManagerCollapsedTff7b72: Tff7b72falseTb4b4b4,
Te6edf3localNodeDisplayNameDraftTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3lxmfIncomingDeliveryPresetTff7b72: Ta5d6ff"10mb"Tb4b4b4,
Te6edf3lxmfIncomingDeliveryCustomAmountTff7b72: T79c0ff10Tb4b4b4,
Te6edf3lxmfIncomingDeliveryCustomUnitTff7b72: Ta5d6ff"mb"Tb4b4b4,
Te6edf3propagationLimitInputMbTff7b72: T79c0ff0Tb4b4b4,
Te6edf3propagationSyncLimitInputMbTff7b72: T79c0ff0Tb4b4b4,
Te6edf3nodePathsByHashTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3localPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3propagationNodesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3nodeTb4b4b4) Tb4b4b4=> Te6edf3nodeTb4b4b4.Te6edf3is_local_nodeTb4b4b4) Tff7b72?? Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3localNodeIsRunningTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3running Tff7b72= Tff7b72thisTb4b4b4.Te6edf3localPropagationNodeTff7b72?Tb4b4b4.Te6edf3local_node_statsTff7b72?Tb4b4b4.Te6edf3is_runningTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3running Tff7b72=== Ta5d6ff"boolean"Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3runningTb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657BooleanTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3localPropagationNodeTff7b72?Tb4b4b4.Te6edf3is_propagation_enabledTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3localNodeStatsVisibleTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657BooleanTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3localPropagationNodeTff7b72?Tb4b4b4.Te6edf3local_node_stats Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3localNodeIsRunningTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3searchedPropagationNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3propagationNodesTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3propagationNodeTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3search Tff7b72= Tff7b72thisTb4b4b4.Te6edf3searchTermTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3matchesOperatorDisplayName Tff7b72=
Te6edf3propagationNodeTb4b4b4.Te6edf3operator_display_nameTff7b72?Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tff7b72?Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4) Tff7b72?? Tff7b72falseTb4b4b4;
Tff7b72const Te6edf3matchesDestinationHash Tff7b72= Te6edf3propagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3matchesOperatorDisplayName Tff7b72|| Te6edf3matchesDestinationHashTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3sortedAndSearchedPropagationNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3nodes Tff7b72= Tb4b4b4[Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3searchedPropagationNodesTb4b4b4]Tb4b4b4;
Tff7b72switch Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3sortByTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"name"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3nameA Tff7b72= Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3nameB Tff7b72= Tb4b4b4(Te6edf3bTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3nameATb4b4b4.Te6edf3localeCompareTb4b4b4(Te6edf3nameBTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"name-desc"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3nameA Tff7b72= Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3nameB Tff7b72= Tb4b4b4(Te6edf3bTb4b4b4.Te6edf3operator_display_name Tff7b72?? Ta5d6ff"Unknown Operator"Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3nameBTb4b4b4.Te6edf3localeCompareTb4b4b4(Te6edf3nameATb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"recent"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3timeA Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3aTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3timeB Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3bTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timeB Tff7b72- Te6edf3timeATb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"oldest"Tff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3timeA Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3aTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3timeB Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3bTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timeA Tff7b72- Te6edf3timeBTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tff7b72case Ta5d6ff"preferred"Tff7b72:
Tff7b72defaultTff7b72:
Te6edf3nodesTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3aIsPreferred Tff7b72=
Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72=== Te6edf3aTb4b4b4.Te6edf3destination_hashTb4b4b4;
Tff7b72const Te6edf3bIsPreferred Tff7b72=
Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hash Tff7b72=== Te6edf3bTb4b4b4.Te6edf3destination_hashTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3aIsPreferred Tff7b72&& Tff7b72!Te6edf3bIsPreferredTb4b4b4) Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3aIsPreferred Tff7b72&& Te6edf3bIsPreferredTb4b4b4) Tff7b72return T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3is_local_node Tff7b72&& Tff7b72!Te6edf3bTb4b4b4.Te6edf3is_local_nodeTb4b4b4) Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3aTb4b4b4.Te6edf3is_local_node Tff7b72&& Te6edf3bTb4b4b4.Te6edf3is_local_nodeTb4b4b4) Tff7b72return T79c0ff1Tb4b4b4;
Tff7b72const Te6edf3timeA Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3aTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3timeB Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3bTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timeB Tff7b72- Te6edf3timeATb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3nodesTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3totalPagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3length Tff7b72/ Tff7b72thisTb4b4b4.Te6edf3itemsPerPageTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3startIndexTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72- T79c0ff1Tb4b4b4) Tff7b72* Tff7b72thisTb4b4b4.Te6edf3itemsPerPageTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3endIndexTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3startIndex Tff7b72+ Tff7b72thisTb4b4b4.Te6edf3itemsPerPageTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3paginatedNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3sortedAndSearchedPropagationNodesTb4b4b4.Te6edf3sliceTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3startIndexTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3endIndexTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3visiblePagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3pages Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3maxVisible Tff7b72= T79c0ff5Tb4b4b4;
Tff7b72let Te6edf3start Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72- Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3maxVisible Tff7b72/ T79c0ff2Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3end Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3totalPagesTb4b4b4, Te6edf3start Tff7b72+ Te6edf3maxVisible Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3end Tff7b72- Te6edf3start Tff7b72< Te6edf3maxVisible Tff7b72- T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3start Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3end Tff7b72- Te6edf3maxVisible Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= Te6edf3startTb4b4b4; Te6edf3i Tff7b72<= Te6edf3endTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3pagesTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3pagesTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3watchTff7b72: Tb4b4b4{
Te6edf3searchTermTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3sortByTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentPage Tff7b72= T79c0ff1Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// stop listening for websocket messages
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3offTb4b4b4(Ta5d6ff"message"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3onWebsocketMessageTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3timeoutKey Tff7b72of Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4[Te6edf3timeoutKeyTb4b4b4]Tb4b4b4) Tb4b4b4{
Te6edf3clearTimeoutTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4[Te6edf3timeoutKeyTb4b4b4]Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// listen for websocket messages
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3onTb4b4b4(Ta5d6ff"message"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3onWebsocketMessageTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3matchMedia Tff7b72&& Tffa657windowTb4b4b4.Te6edf3matchMediaTb4b4b4(Ta5d6ff"(max-width: 640px)"Tb4b4b4)Tb4b4b4.Te6edf3matchesTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3isLocalManagerCollapsed Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Tff7b72async Te6edf3onWebsocketMessageTb4b4b4(Te6edf3messageTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3json Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3json Tff7b72= Tffa657JSONTb4b4b4.Te6edf3parseTb4b4b4(Te6edf3messageTb4b4b4.Te6edf3dataTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72switch Tb4b4b4(Te6edf3jsonTb4b4b4.Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"config"Tff7b72: Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3jsonTb4b4b4.Te6edf3configTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3syncManagerInputsFromConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3getConfigTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3configTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3syncManagerInputsFromConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3updateConfigTb4b4b4(Te6edf3configTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Te6edf3configTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3config Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3configTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3syncManagerInputsFromConfigTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/lxmf/propagation-nodesTa5d6ff`Tb4b4b4, Tb4b4b4{
Te6edf3paramsTff7b72: Tb4b4b4{
Te6edf3limitTff7b72: T79c0ff500Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3propagationNodes Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3lxmf_propagation_nodesTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tools.propagation_nodes.load_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3usePropagationNodeTb4b4b4(Te6edf3destination_hashTb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_destination_hashTff7b72: Te6edf3destination_hashTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3requestPathForNodeTb4b4b4(Te6edf3destination_hashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3stopUsingPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_destination_hashTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3useLocalPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3localPropagationNodeTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3usePropagationNodeTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3localPropagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3requestPathForNodeTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3localPropagationNodeTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3restartLocalPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/lxmf/propagation-node/restart"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tools.propagation_nodes.local_restarted"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3allTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3stopLocalPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/lxmf/propagation-node/stop"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tools.propagation_nodes.local_stopped"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3allTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3startLocalPropagationNodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3didUpdate Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{ Te6edf3lxmf_local_propagation_node_enabledTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3didUpdateTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tools.propagation_nodes.local_started"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3allTb4b4b4(Tb4b4b4[Tff7b72thisTb4b4b4.Te6edf3getConfigTb4b4b4(Tb4b4b4)Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3announceNowTb4b4b4(Te6edf3showSuccessToast Tff7b72= Tff7b72trueTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/announce"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3showSuccessToastTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff"Announce triggered"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3saveLocalNodeDisplayNameTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3nextName Tff7b72= Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3localNodeDisplayNameDraft Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|| Ta5d6ff"Anonymous Peer"Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3didUpdate Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{ Te6edf3display_nameTff7b72: Te6edf3nextName Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3didUpdateTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3localNodeDisplayNameDraft Tff7b72= Te6edf3nextNameTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3announceNowTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff"Name saved and announced"Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadPropagationNodesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"common.save_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3resetLocalNodeDisplayNameTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3localNodeDisplayNameDraft Tff7b72= Ta5d6ff"Anonymous Peer"Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3saveLocalNodeDisplayNameTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3syncManagerInputsFromConfigTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3displayName Tff7b72= Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3display_name Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3localNodeDisplayNameDraft Tff7b72= Te6edf3displayName Tff7b72|| Ta5d6ff"Anonymous Peer"Tb4b4b4;
Tff7b72const Te6edf3incoming Tff7b72= Te6edf3syncIncomingDeliveryFieldsFromBytesTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_delivery_transfer_limit_in_bytesTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryPreset Tff7b72= Te6edf3incomingTb4b4b4.Te6edf3presetTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryCustomAmount Tff7b72= Te6edf3incomingTb4b4b4.Te6edf3customAmountTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryCustomUnit Tff7b72= Te6edf3incomingTb4b4b4.Te6edf3customUnitTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3propagationLimitInputMb Tff7b72= Tff7b72thisTb4b4b4.Te6edf3bytesToMbTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_transfer_limit_in_bytesTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3propagationSyncLimitInputMb Tff7b72= Tff7b72thisTb4b4b4.Te6edf3bytesToMbTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_sync_limit_in_bytesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3bytesToMbTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3n Tff7b72= Tffa657NumberTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3nTb4b4b4) Tff7b72|| Te6edf3n Tff7b72<= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff0Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0.001Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Tb4b4b4(Te6edf3n Tff7b72/ T79c0ff1000000Tb4b4b4) Tff7b72* T79c0ff1000Tb4b4b4) Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mbToBytesTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3n Tff7b72= Tffa657NumberTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3nTb4b4b4) Tff7b72|| Te6edf3n Tff7b72<= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff1000Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1000Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Te6edf3n Tff7b72* T79c0ff1000000Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshPriorityNodePathsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hashes Tff7b72= Tff7b72new Tffa657SetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3localHash Tff7b72= Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_local_propagation_node_address_hashTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3localHashTb4b4b4) Tb4b4b4{
Te6edf3hashesTb4b4b4.Te6edf3addTb4b4b4(Te6edf3localHashTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3preferredHash Tff7b72= Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_destination_hashTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3preferredHashTb4b4b4) Tb4b4b4{
Te6edf3hashesTb4b4b4.Te6edf3addTb4b4b4(Te6edf3preferredHashTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3hash Tff7b72of Te6edf3hashesTb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3requestPathForNodeTb4b4b4(Te6edf3hashTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3requestPathForNodeTb4b4b4(Te6edf3destinationHashTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hash Tff7b72= Tb4b4b4(Te6edf3destinationHash Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Te6edf3getDestinationPathTb4b4b4(Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4, Te6edf3hashTb4b4b4, Tb4b4b4{
Te6edf3requestTff7b72: Ta5d6ff"1"Tb4b4b4,
Te6edf3timeoutTff7b72: T79c0ff4Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3nodePathsByHash Tff7b72= Tb4b4b4{
Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3nodePathsByHashTb4b4b4,
Tb4b4b4[Te6edf3hashTb4b4b4]Tff7b72: Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3path Tff7b72|| Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3nodePathsByHash Tff7b72= Tb4b4b4{
Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3nodePathsByHashTb4b4b4,
Tb4b4b4[Te6edf3hashTb4b4b4]Tff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3nodePathForTb4b4b4(Te6edf3destinationHashTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3hash Tff7b72= Tb4b4b4(Te6edf3destinationHash Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3nodePathsByHashTb4b4b4[Te6edf3hashTb4b4b4] Tff7b72|| Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatPathLabelTb4b4b4(Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3pathTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"No path"Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3hops Tff7b72= Tffa657NumberTb4b4b4(Te6edf3pathTb4b4b4.Te6edf3hopsTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hopsText Tff7b72= Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3hopsTb4b4b4) Tff7b72? Ta5d6ff`Tffd700${Te6edf3hopsTffd700}Ta5d6ff Tffd700${Te6edf3hops Tff7b72=== T79c0ff1 Tff7b72? Ta5d6ff"hop" Tff7b72: Ta5d6ff"hops"Tffd700}Ta5d6ff` Tff7b72: Ta5d6ff"Unknown hops"Tb4b4b4;
Tff7b72const Te6edf3iface Tff7b72= Te6edf3pathTb4b4b4.Te6edf3next_hop_interface Tff7b72|| Ta5d6ff"unknown interface"Tb4b4b4;
Tff7b72return Ta5d6ff`Tffd700${Te6edf3hopsTextTffd700}Ta5d6ff via Tffd700${Te6edf3ifaceTffd700}Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onLxmfIncomingDeliveryPresetChangeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryPreset Tff7b72=== Ta5d6ff"custom"Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3incoming Tff7b72= Te6edf3syncIncomingDeliveryFieldsFromBytesTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_delivery_transfer_limit_in_bytesTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryCustomAmount Tff7b72= Te6edf3incomingTb4b4b4.Te6edf3customAmountTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryCustomUnit Tff7b72= Te6edf3incomingTb4b4b4.Te6edf3customUnitTb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3bytes Tff7b72= Te6edf3incomingDeliveryBytesFromPresetKeyTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryPresetTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3bytes Tff7b72== Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_delivery_transfer_limit_in_bytesTff7b72: Te6edf3bytesTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onLxmfIncomingDeliveryCustomChangeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryPreset Tff7b72!== Ta5d6ff"custom"Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3deliveryLimitTb4b4b4) Te6edf3clearTimeoutTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3deliveryLimitTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3deliveryLimit Tff7b72= Te6edf3setTimeoutTb4b4b4(Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_delivery_transfer_limit_in_bytesTff7b72: Te6edf3incomingDeliveryBytesFromCustomTb4b4b4(
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryCustomAmountTb4b4b4,
Tff7b72thisTb4b4b4.Te6edf3lxmfIncomingDeliveryCustomUnit
Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff450Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onPropagationTransferLimitChangeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationLimitTb4b4b4) Te6edf3clearTimeoutTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationLimitTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationLimit Tff7b72= Te6edf3setTimeoutTb4b4b4(Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_propagation_transfer_limit_in_bytesTff7b72: Tff7b72thisTb4b4b4.Te6edf3mbToBytesTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3propagationLimitInputMbTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff450Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onPropagationSyncLimitChangeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationSyncLimitTb4b4b4) Te6edf3clearTimeoutTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationSyncLimitTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationSyncLimit Tff7b72= Te6edf3setTimeoutTb4b4b4(Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_propagation_sync_limit_in_bytesTff7b72: Tff7b72thisTb4b4b4.Te6edf3mbToBytesTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3propagationSyncLimitInputMbTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff450Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onPropagationStampCostChangeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationStampCostTb4b4b4) Te6edf3clearTimeoutTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationStampCostTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3saveTimeoutsTb4b4b4.Te6edf3propagationStampCost Tff7b72= Te6edf3setTimeoutTb4b4b4(Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72let Te6edf3cost Tff7b72= Tffa657NumberTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_node_stamp_costTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3costTb4b4b4) Tff7b72|| Te6edf3cost Tff7b72< T79c0ff13Tb4b4b4) Tb4b4b4{
Te6edf3cost Tff7b72= T79c0ff13Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3cost Tff7b72> T79c0ff254Tb4b4b4) Tb4b4b4{
Te6edf3cost Tff7b72= T79c0ff254Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_propagation_node_stamp_cost Tff7b72= Te6edf3costTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3updateConfigTb4b4b4(Tb4b4b4{
Te6edf3lxmf_propagation_node_stamp_costTff7b72: Te6edf3costTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff450Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatTimeAgoTff7b72: Tff7b72function Tb4b4b4(Te6edf3datetimeStringTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3datetimeStringTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatSecondsTb4b4b4(Te6edf3secondsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72== Tff7b72null Tff7b72|| Tffa657NumberTb4b4b4.Tffa657isNaNTb4b4b4(Tffa657NumberTb4b4b4(Te6edf3secondsTb4b4b4)Tb4b4b4)Tb4b4b4) Tff7b72return Ta5d6ff"0s"Tb4b4b4;
Tff7b72const Te6edf3total Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Tffa657NumberTb4b4b4(Te6edf3secondsTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3total Tff7b72< T79c0ff60Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3totalTb4b4b4)Tffd700}Ta5d6ffsTa5d6ff`Tb4b4b4;
Tff7b72const Te6edf3minutes Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3total Tff7b72/ T79c0ff60Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3minutes Tff7b72< T79c0ff60Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Te6edf3minutesTffd700}Ta5d6ffmTa5d6ff`Tb4b4b4;
Tff7b72const Te6edf3hours Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3minutes Tff7b72/ T79c0ff60Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hours Tff7b72< T79c0ff24Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Te6edf3hoursTffd700}Ta5d6ffhTa5d6ff`Tb4b4b4;
Tff7b72const Te6edf3days Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3hours Tff7b72/ T79c0ff24Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff`Tffd700${Te6edf3daysTffd700}Ta5d6ffdTa5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatByteSizeTb4b4b4(Te6edf3bytesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3value Tff7b72= Tffa657NumberTb4b4b4(Te6edf3bytesTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3valueTb4b4b4) Tff7b72|| Te6edf3value Tff7b72< T79c0ff0Tb4b4b4) Tff7b72return Ta5d6ff"0 B"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72< T79c0ff1000Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3roundTb4b4b4(Te6edf3valueTb4b4b4)Tffd700}Ta5d6ff BTa5d6ff`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72< T79c0ff1000 Tff7b72* T79c0ff1000Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tb4b4b4(Te6edf3value Tff7b72/ T79c0ff1000Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff1Tb4b4b4)Tffd700}Ta5d6ff KBTa5d6ff`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72< T79c0ff1000 Tff7b72* T79c0ff1000 Tff7b72* T79c0ff1000Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tb4b4b4(Te6edf3value Tff7b72/ Tb4b4b4(T79c0ff1000 Tff7b72* T79c0ff1000Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff2Tb4b4b4)Tffd700}Ta5d6ff MBTa5d6ff`Tb4b4b4;
Tff7b72return Ta5d6ff`Tffd700${Tb4b4b4(Te6edf3value Tff7b72/ Tb4b4b4(T79c0ff1000 Tff7b72* T79c0ff1000 Tff7b72* T79c0ff1000Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff2Tb4b4b4)Tffd700}Ta5d6ff GBTa5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatStorageUsageTb4b4b4(Te6edf3statsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3stats Tff7b72|| Tff7b72typeof Te6edf3stats Tff7b72!== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"0 B"Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3used Tff7b72= Tff7b72thisTb4b4b4.Te6edf3formatByteSizeTb4b4b4(Te6edf3statsTb4b4b4.Te6edf3messagestore_bytesTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3limitValue Tff7b72= Tffa657NumberTb4b4b4(Te6edf3statsTb4b4b4.Te6edf3messagestore_limit_bytesTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3limitValueTb4b4b4) Tff7b72|| Te6edf3limitValue Tff7b72<= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3usedTb4b4b4;
Tb4b4b4}
Tff7b72return Ta5d6ff`Tffd700${Te6edf3usedTffd700}Ta5d6ff / Tffd700${Tff7b72thisTb4b4b4.Te6edf3formatByteSizeTb4b4b4(Te6edf3limitValueTb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────